package com.yhn.shortlink.common.utils;

import java.security.SecureRandom;

/**
 * 随机数生成工具类
 *
 * @author yhn
 * @version 1.0
 * @description
 * @date 2024/7/25 13:18
 */
public class RandomGeneratorUtils {
    private static final String CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    private static final SecureRandom RANDOM = new SecureRandom();


    /**
     * 生成随机数
     *
     * @param length 生成的位数
     * @return 生成的随机数
     */
    public static String generateRandomString(int length) {
        StringBuilder sb = new StringBuilder(length);
        for (int i = 0; i < length; i++) {
            int randomIndex = RANDOM.nextInt(CHARACTERS.length());
            sb.append(CHARACTERS.charAt(randomIndex));
        }
        return sb.toString();
    }

    /**
     * 生成6位随机数
     *
     * @param length 生成的位数
     * @return 生成的随机数
     */
    public static String generateRandomString() {
        return generateRandomString(6);
    }
}
